1. Field of the Invention
The present invention relates to the field of business process instance execution and more particularly to jump realization in an executing business process instance.
2. Description of the Related Art
The achievement of universal interoperability between applications by using Web standards remains the principal goal of Web Services. Web Services use a loosely coupled integration model to allow flexible integration of heterogeneous systems in a variety of domains including business-to-consumer, business-to-business and enterprise application integration. The following basic specifications originally defined the Web Services space: the Simple Object Access Protocol (SOAP), the Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI). SOAP defines an XML messaging protocol for basic service interoperability. WSDL introduces a common grammar for describing services. UDDI provides the infrastructure required to publish and discover services in a systematic way. Together, these specifications allow applications to find each other and interact following a loosely coupled, platform-independent model.
Presently, the interaction model that is directly supported by WSDL essentially can be viewed as a stateless model of synchronous or uncorrelated asynchronous interactions. Models for business interactions typically assume sequences of peer-to-peer message exchanges, both synchronous and asynchronous, within stateful, long-running interactions involving two or more parties. Nevertheless, systems integration requires more than the mere ability to conduct simple interactions by using standard protocols. The full potential of Web Services as an integration platform will be achieved only when applications and business processes are able to integrate their complex interactions by using a standard process integration model.
The Business Process Execution Language (BPEL) for Web Services fulfills some aspects of a standard process integration model. The BPEL for Web Services specification defines a technology for integrating cross-enterprise business processes. By coordinating stateful interactions of loosely coupled services across enterprise boundaries, BPEL technology provides a means of modeling the interactions between an enterprise and its business partners, suppliers and customers and thus the value chain of the enterprise. More particularly, BPEL for Web Services defines a notation for specifying business process behavior based on Web Services.
Workflow management systems provide the vehicle through which business process instances can be created and executed. Further, workflow management systems allow for the end user management of an executing process instance. Nearly all workflow management systems offer the opportunity to change the values of variables of a process instance at runtime. However, changing the values of variables of an executing process instance does not provide enough end user flexibility in managing an executing process instance. Rather, from time to time altering the ordering of activity performance in an executing process instance can be important. The alternation of the ordering of activity performance is referred to as a “jump”—characterized as either a backward jump to a predecessor activity, or a forward jump to a successor activity.
Contemporary workflow management systems realize a backward jump in an executing process instance first by storing the complete state of the executing process instance after each activity has completed. Subsequently, a backward jump can be realized as a restoration of a previous state immediately preceding the target activity. It will be recognized, however, that enormous overhead is required to store all states of an executing process instance, which affects the consumption of physical resources and the performance of the workflow management system. Further, any record of the state of the executing process instance transpiring between the target activity and the activity from which the backward jump occurs will have been lost. Finally, forward jumps, of course, cannot be handled through a restoration of a previously stored state.